From: kaf24@firebug.cl.cam.ac.uk Date: Fri, 26 May 2006 12:23:18 +0000 (+0100) Subject: [MINIOS] Allows the use of a C library without modifying Mini-OS source files. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~16025^2~3 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=165bf6f0bdfb5ae16fd768822fc0f28517d2fa34;p=xen.git [MINIOS] Allows the use of a C library without modifying Mini-OS source files. From: John Ramsdell Signed-off-by: Keir Fraser --- diff --git a/extras/mini-os/Makefile b/extras/mini-os/Makefile index 63cd9e8079..e92681c1ab 100644 --- a/extras/mini-os/Makefile +++ b/extras/mini-os/Makefile @@ -13,6 +13,7 @@ CFLAGS += -Wstrict-prototypes -Wnested-externs -Wpointer-arith -Winline override CPPFLAGS := -Iinclude $(CPPFLAGS) ASFLAGS = -D__ASSEMBLY__ +LDLIBS = -L. -lminios LDFLAGS := -N -T minios-$(TARGET_ARCH).lds ifeq ($(TARGET_ARCH),x86_32) @@ -55,11 +56,11 @@ default: $(TARGET) links: [ -e include/xen ] || ln -sf ../../../xen/include/public include/xen -libminios.a: $(OBJS) $(HEAD) - ar r libminios.a $(HEAD) $(OBJS) +libminios.a: links $(OBJS) $(HEAD) + $(AR) r libminios.a $(HEAD) $(OBJS) -$(TARGET): links libminios.a $(HEAD) - $(LD) $(LDFLAGS) $(HEAD) -L. -lminios -o $@.elf +$(TARGET): libminios.a $(HEAD) + $(LD) $(LDFLAGS) $(HEAD) $(LDLIBS) -o $@.elf gzip -f -9 -c $@.elf >$@.gz .PHONY: clean diff --git a/extras/mini-os/lib/printf.c b/extras/mini-os/lib/printf.c index bb81c7b028..676f4e74a1 100644 --- a/extras/mini-os/lib/printf.c +++ b/extras/mini-os/lib/printf.c @@ -54,6 +54,8 @@ * $FreeBSD: src/sys/libkern/divdi3.c,v 1.6 1999/08/28 00:46:31 peter Exp $ */ +#if !defined HAVE_LIBC + #include #include #include @@ -789,4 +791,4 @@ int sscanf(const char * buf, const char * fmt, ...) return i; } - +#endif diff --git a/extras/mini-os/lib/string.c b/extras/mini-os/lib/string.c index 82b91e15ae..1b99f43a46 100644 --- a/extras/mini-os/lib/string.c +++ b/extras/mini-os/lib/string.c @@ -18,6 +18,8 @@ **************************************************************************** */ +#if !defined HAVE_LIBC + #include #include #include @@ -153,3 +155,5 @@ char * strstr(const char * s1,const char * s2) } return NULL; } + +#endif